Repository navigation
task: agent ready prep - #280
jharlow-intel wants to merge 7 commits into
Conversation
c80b57b to
823e526
Compare
- CONTRIBUTING.md: use --override-channels, install pre-commit with the pylint and shellcheck its system hooks need, note Windows support and the meson.build GCC/MSVC branches, and match the CHANGELOG link format - AGENTS.md: restore supported platforms, add the meson.build guardrail, and note that checkout tests need the editable install - conda-recipe-cf/AGENTS.md: gnu_thread is Linux-only, llvm-openmp has no run pin, and each recipe has its own conda_build_config.yaml - mkl_umath/src/AGENTS.md: scope the patch lock claim and note per-thread patch/restore balance - .github/AGENTS.md: list the templates and repo config files
napetrov
left a comment
There was a problem hiding this comment.
I checked the docs at 3f8573f against the tree and by running them.
- I ran the
CONTRIBUTING.mdsetup verbatim in a cleancondaforge/miniforge3container. Creating the env, the editable install,pytest mkl_umath/tests(392 passed, 1 skipped) andpre-commit run --all-filesall pass. A control build without-Dmkl_threading=gnu_threadfails at import withlibmkl_intel_thread.so.3: undefined symbol: __atomic_compare_exchange, so thegnu_threadnote is right. - I also ran a static check of the paths, commands and identifiers the guidance names. At head it finds no broken references. At base it found the stale
mkl_randommentions and thesrc/__umath_generated.cpath, which this PR fixes. - I checked loading with Claude Code 2.1.296. The root
AGENTS.mdloads from every directory, and each nested one loads once the agent works in its subtree..github/copilot-instructions.mdis never loaded; more on that inline.
A few remaining points are inline. None of them block the PR.
| On Linux: | ||
|
|
||
| ```sh | ||
| conda create -n mkl_umath-dev --override-channels -c conda-forge python pip \ |
There was a problem hiding this comment.
python is unpinned here. conda-forge already has Python 3.15.0, while pyproject.toml has requires-python = ">=3.10,<3.15". Today the solve picks 3.14.8 (checked), likely because not every dependency has a 3.15 build yet. Once they all do, this line creates a 3.15 env and the editable install fails on requires-python. I suggest "python<3.15", or a specific python=3.14.
There was a problem hiding this comment.
No change here: after merging main (#279), pyproject.toml has requires-python = ">=3.10,<3.16", so a Python 3.15 solve installs fine. I left python unpinned so the command does not go stale on the next release.
# Conflicts: # AGENTS.md # conda-recipe/AGENTS.md # mkl_umath/tests/AGENTS.md
| - `benchmarks/micro/` — per-ufunc micro-benchmarks | ||
| - `benchmarks/npbench/` — end-to-end kernels adapted from npbench | ||
| - `benchmarks/_patch_setup.py` — patches NumPy at import |
There was a problem hiding this comment.
That lists benchmarks/micro/, benchmarks/npbench/ and benchmarks/_patch_setup.py. The real paths are one level deeper, under benchmarks/benchmarks/; the same goes for __init__.py in the thread-default guardrail.
| - `patch.py`, `_patch_startup.py`, `with_patch.py`, `__main__.py` — persistent | ||
| (`.pth`) and one-shot patching behind `python -m mkl_umath` | ||
| - `_version.py` — the version; `meson.build` reads it | ||
| - `generate_umath_doc.py`, `ufunc_docstrings_numpy{1,2}.py` — docstring sources |
There was a problem hiding this comment.
The NumPy 1 file was removed
| - Runtime deps: `numpy`; the conda recipes add the MKL and compiler runtimes | ||
| - Platforms: Linux and Windows; `.github/workflows/` is canonical for the matrix | ||
| - Setup, checks, and style: `CONTRIBUTING.md` | ||
| - Single test: `pytest mkl_umath/tests/<file>::<test>`, from a checkout with the |
There was a problem hiding this comment.
It should be written as <file>.py::<test>, because pytest can't find the file without the extension
| ## Setup | ||
|
|
||
| On Linux: | ||
|
|
There was a problem hiding this comment.
The pre-commit config also runs gitleaks and actionlint, which pre-commit builds from source and so need Go and network access. The pylint hook also needs the dev environment active. CONTRIBUTING mentions none of this.
Very similar to IntelPython/mkl_fft#379: adds contributor and coding-agent guidance (
CONTRIBUTING.md,AGENTS.md), PR and issue templates, and a README pointer, checked against this repo's build and CI. It also corrects the existingAGENTS.mdfiles.